/**
 * Created with IntelliJ IDEA
 * Description:
 * User: SEKI TOMOKI
 * Date: 2023-09-22
 * Time: 15:07
 */
class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m - 1;//nums1数组中最大的元素下标
        int j = n - 1;//nums2数组中最大的元素下标(最右侧的下标)
        int k = m + n - 1;//nums1中最右侧的下标
        while(i >= 0 && j >= 0) {
            if(nums1[i] <= nums2[j]) {
                nums1[k] = nums2[j];
                k--;
                j--;
            }else {
                nums1[k] = nums1[i];
                k--;
                i--;
            }
        }


        //如果nums1已经遍历完成，但是nums2没有遍历完成
        //需要把nums2剩下的元素一一赋值给num1
        while(k >= 0 && i == -1) {
            nums1[k] = nums2[j];
            k--;
            j--;
        }


    }
}
